package com.zhijian.medical.entity.vo.request;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import java.io.Serializable;
import java.util.List;

/**
 * 实验流程-样本管理 查询条件vo
 *
 * @author HCG
 * @version 1.0
 * @date 2022-04-13 23:32:04
 */
@Data
@Api(tags = "实验流程-样本管理查询条件vo")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExperimentProcessSampleSearchVo implements Serializable {

    private static final long serialVersionUID = -1;

    /**
     * 页码
     */
    @ApiModelProperty("页码")
    @Min(value = 1, message = "页码最小为1")
    private Integer pageNum;

    /**
     * 数据库查询参数，前端忽略
     */
    @ApiModelProperty(value = "页码", hidden = true)
    private Integer startIndex;

    /**
     * 条数
     */
    @ApiModelProperty("每页显示的条数")
    @Min(value = 1, message = "每页显示的条数最小为1")
    private Integer pageSize;

    /**
     * 检测项目
     */
    @ApiModelProperty(value = "检测项目", hidden = true)
    private String project;

    /**
     * 检测项目列表
     */
    @ApiModelProperty(value = "检测项目列表", hidden = true)
    private List<String> projectList;

    /**
     * 样本类型，0：蜡块，1：白片，2：外周血，3：骨髓，4：尿液，5：胸腹水，6：粪便，7：宫颈脱落细胞
     */
    @ApiModelProperty(value = "样本类型，0：蜡块，1：白片，2：外周血，3：骨髓，4：尿液，5：胸腹水，6：粪便，7：宫颈脱落细胞", hidden = true)
    private String type;

    /**
     * 样本类型列表
     */
    @ApiModelProperty(value = "样本类型列表", hidden = true)
    private List<String> typeList;

    /**
     * 实验流程id
     */
    @ApiModelProperty(value = "实验流程id", hidden = true)
    private Long experimentProcessId;

    /**
     * 状态，0：待检测，1：检测中，2：已检测
     */
    @ApiModelProperty("状态，0：待检测，1：检测中，2：已检测")
    private Byte status;

    /**
     * 分子病理号
     */
    @ApiModelProperty("分子病理号")
    private String moleculePathologyNumber;

    /**
     * 总实验类型
     */
    @ApiModelProperty("总实验类型")
    private Byte mainType;

    /**
     * 样本准备记录id
     */
    @ApiModelProperty(value = "样本准备记录id", hidden = true)
    private Long readyId;

    /**
     * 核酸提取id
     */
    @ApiModelProperty(value = "核酸提取id", hidden = true)
    private Long htstqId;

    /**
     * 姓名
     */
    @ApiModelProperty("姓名")
    private String name;

    /**
     * 住院号
     */
    @ApiModelProperty("住院号")
    private String zyh;

    /**
     * 常规病理号
     */
    @ApiModelProperty("常规病理号")
    private String conventionPathologyNumber;

    /**
     * 门诊号
     */
    @ApiModelProperty("门诊号")
    private String mzh;

    /**
     * 送检医生
     */
    @ApiModelProperty("送检医生")
    private String doctor;

    /**
     * 送检医院
     */
    @ApiModelProperty("送检医院")
    private String hospital;

    /**
     * 是否合格，0：合格，1：不合格
     */
    @ApiModelProperty("是否合格，0：合格，1：不合格")
    private Byte weatherQualified;

    /**
     * 创建时间开始
     */
    @ApiModelProperty("创建时间开始")
    private String createTimeStart;

    /**
     * 创建时间结束
     */
    @ApiModelProperty("创建时间结束")
    private String createTimeEnd;

}